// 引入全局变量
const app = getApp();
Page({
    data: {
        active: 0,
        url: '',
        fmList: [],
        pageNum: 1,
        pages: 0,
        // 节流阀，false表示没有加载数据；true表示正在加载数据
        isLoading: false
    },

    onLoad(options) {
       
        // 当页面加载时获取全局的url数据
        this.setData({
            // 获取全局的url赋值给当前页面的URL
            url: app.globalData.URL
        })
        // 动态调用后端接口
        this.getData();   
    },
    getData(){

        // 如果正在加载数据，则直接返回
        if (this.data.isLoading) {
            return;
        }
        this.setData({
            isLoading: true
        })
        // 加入一个正在加载中的效果
        wx.showLoading({
            title: '正在加载中...',
            icon: 'loading'
        })
        // 动态调用后端接口
        let that = this;
        wx.request({
            url: that.data.url + '/fm/selectAll',
            data: {
                pageNum: that.data.pageNum,
                pageSize: 2
            },
            success(resp) {
                console.log(resp.data.data.list);
                that.setData({
                    // fmList: resp.data.data.list
                    fmList: [...that.data.fmList, ...resp.data.data.list],
                    // 获取总页数，为后面的触底事件结尾做处理
                    pages: resp.data.data.pages
                })
            },
            complete() {
                // 关闭正在加载中提示
                wx.hideLoading();
                // 关闭下拉刷新
                wx.stopPullDownRefresh();
                that.setData({
                    isLoading: false
                })
            }
        })
    },
    onChange(event) {
        wx.showToast({
            title: `切换到标签 ${event.detail.name}`,
            icon: 'none',
        });
    },
    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {
        console.log('加载下一页数据');
        // 判断如果数据正在加载中，则拦截
        if (this.data.isLoading) {
            return;
        }
        // 上提，就是让pageNum+1即可
        this.setData({
            pageNum: this.data.pageNum + 1
        })
        // 判断如果是最后一页了，则提示不在加载了
        if (this.data.pageNum > this.data.pages) {
            wx.showToast({
                title: '没有更多数据了.....',
            })
            return;
        }
        // 再次查询
        this.getData();
    },
     /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {
        // 初始化数据
        this.setData({
            pageNum: 1,
            fmList: [],
            pages: 0
        })
        // 查询
        this.getData();
    },
});